Skip to content

feat(java): add actor and data batch generator for java bench#3218

Merged
mmodzelewski merged 5 commits into
apache:masterfrom
slbotbm:java-benchmarking-2
May 16, 2026
Merged

feat(java): add actor and data batch generator for java bench#3218
mmodzelewski merged 5 commits into
apache:masterfrom
slbotbm:java-benchmarking-2

Conversation

@slbotbm
Copy link
Copy Markdown
Contributor

@slbotbm slbotbm commented May 6, 2026

Which issue does this PR close?

Closes #

Rationale

This PR adds an actor for tcp async pinned producer benchmark, a data batch generator, and some enums. Also reorders the directory structure to create multiple benchmarks.

What changed?

  • added tcp async pinned producer actor. (benchmarks/actors/tcp/async/*)
  • added actor kind, benchmark kind, group kind, transport kind enums. (common/enums/*)
  • added batch generator class to generate data batches to send to server. (common/generator/, models/common/generator/)
  • moved provision/* to common/provision/, benchmarks/tcp/async/ to benchmarks/runners/tcp/async/, exception/ to common/exception/*

Local Execution

  • Passed
  • Pre-commit hooks ran

AI Usage

  1. Which tools? codex
  2. Scope of usage? code generation based upon my instructions.
  3. How did you verify the generated code works correctly? Manually read through and verified all code, and ran it.
  4. Can you explain every line of the code if asked? yes

@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Codecov Report

❌ Patch coverage is 0% with 133 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.77%. Comparing base (6a71d20) to head (6b3e0b1).

Files with missing lines Patch % Lines
.../actors/tcp/async/TcpAsyncPinnedProducerActor.java 0.00% 42 Missing ⚠️
...arks/runners/tcp/async/TcpAsyncPinnedProducer.java 0.00% 27 Missing ⚠️
...ench/common/generator/BenchmarkBatchGenerator.java 0.00% 22 Missing ⚠️
.../apache/iggy/bench/common/enums/BenchmarkKind.java 0.00% 14 Missing ⚠️
.../org/apache/iggy/bench/common/enums/GroupKind.java 0.00% 10 Missing ⚠️
.../org/apache/iggy/bench/common/enums/ActorKind.java 0.00% 9 Missing ⚠️
.../apache/iggy/bench/common/enums/TransportKind.java 0.00% 8 Missing ⚠️
.../iggy/bench/models/common/generator/DataBatch.java 0.00% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (0.00%) is below the target coverage (50.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3218      +/-   ##
============================================
- Coverage     73.87%   73.77%   -0.10%     
  Complexity      943      943              
============================================
  Files          1193     1200       +7     
  Lines        108970   109094     +124     
  Branches      85987    85997      +10     
============================================
- Hits          80500    80486      -14     
- Misses        25735    25874     +139     
+ Partials       2735     2734       -1     
Components Coverage Δ
Rust Core 74.90% <ø> (-0.02%) ⬇️
Java SDK 58.44% <0.00%> (-1.71%) ⬇️
C# SDK 69.43% <ø> (ø)
Python SDK 81.43% <ø> (ø)
Node SDK 91.53% <ø> (ø)
Go SDK 39.80% <ø> (ø)
Files with missing lines Coverage Δ
...g/apache/iggy/bench/cli/PinnedProducerCommand.java 0.00% <ø> (ø)
...ggy/bench/common/exception/BenchmarkException.java 0.00% <ø> (ø)
...gy/bench/common/provision/ResourceProvisioner.java 0.00% <ø> (ø)
...rg/apache/iggy/bench/models/cli/GlobalCliArgs.java 0.00% <ø> (ø)
...e/iggy/bench/models/cli/PinnedProducerCliArgs.java 0.00% <ø> (ø)
.../models/common/provision/ProvisionedResources.java 0.00% <ø> (ø)
.../iggy/bench/models/common/generator/DataBatch.java 0.00% <0.00%> (ø)
.../apache/iggy/bench/common/enums/TransportKind.java 0.00% <0.00%> (ø)
.../org/apache/iggy/bench/common/enums/ActorKind.java 0.00% <0.00%> (ø)
.../org/apache/iggy/bench/common/enums/GroupKind.java 0.00% <0.00%> (ø)
... and 4 more

... and 4 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hubcio
Copy link
Copy Markdown
Contributor

hubcio commented May 9, 2026

is this functional already? if yes, then what are results compared to iggy-bench?

@slbotbm
Copy link
Copy Markdown
Contributor Author

slbotbm commented May 9, 2026

@hubcio The actor itself is functional, but no data is being collected, due to which it can't be compared to iggy bench right now. i'm writing the code for the reporting suite, and we'll be able to measure the difference between the java bench and iggy bench in the next PR.

@hubcio
Copy link
Copy Markdown
Contributor

hubcio commented May 9, 2026

@mmodzelewski please check this once you have some spare time

@hubcio
Copy link
Copy Markdown
Contributor

hubcio commented May 14, 2026

/ready

@github-actions github-actions Bot added the S-waiting-on-review PR is waiting on a reviewer label May 14, 2026
Copy link
Copy Markdown
Member

@mmodzelewski mmodzelewski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @slbotbm, sorry for the delay. Just 2 minor comments and I think we can merge. Please fix and bump the branch to the latest master.
/author

@mmodzelewski mmodzelewski added S-waiting-on-author PR is waiting on author response and removed S-waiting-on-review PR is waiting on a reviewer labels May 16, 2026
@mmodzelewski
Copy link
Copy Markdown
Member

/ready

@github-actions github-actions Bot added S-waiting-on-review PR is waiting on a reviewer and removed S-waiting-on-author PR is waiting on author response labels May 16, 2026
@mmodzelewski
Copy link
Copy Markdown
Member

/author

@github-actions github-actions Bot added S-waiting-on-author PR is waiting on author response and removed S-waiting-on-review PR is waiting on a reviewer labels May 16, 2026
@slbotbm
Copy link
Copy Markdown
Contributor Author

slbotbm commented May 16, 2026

/ready

@github-actions github-actions Bot added S-waiting-on-review PR is waiting on a reviewer and removed S-waiting-on-author PR is waiting on author response labels May 16, 2026
@mmodzelewski mmodzelewski merged commit 1ae123f into apache:master May 16, 2026
45 checks passed
@github-actions github-actions Bot removed the S-waiting-on-review PR is waiting on a reviewer label May 16, 2026
@slbotbm slbotbm deleted the java-benchmarking-2 branch May 16, 2026 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants